《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》
互联网技术不断重塑商业格局,如今电商无处不在。阿里巴巴是中国最大的电商平台,它使得全世界各地的个人或公司都可以在线开展业务。阿里巴巴拥有 10 亿用户,2017 年的商品交易总额(Gross Merchandise Volume: GMV)为 37670 亿元,2017 年的收入为 1580 亿元。在著名的 “双十一” 这个中国最大的网络购物节,2017 年的GMV 约为 1680 亿元。在阿里巴巴的各类在线平台中,最大的在线 consumer-to-consumer: C2C 平台淘宝贡献了阿里巴巴电商总流量的 75% 。
淘宝拥有10 亿用户和 20 亿item (即商品),最关键的问题是如何帮助用户快速找到需要的、感兴趣的item 。为了实现这一目标,基于用户偏好(preference)从而为用户提供感兴趣的 item 的推荐技术成为淘宝的关键技术。例如,手机淘宝首页(如下图所示)是根据用户历史行为而通过推荐技术生成的,贡献了总推荐流量的 40%。此外,推荐贡献了淘宝的大部分收入和流量。总之,推荐已经成为淘宝和阿里巴巴的 GMV 和收入的重要引擎。下图中,用虚线矩形框突出显示的区域是针对淘宝上十亿用户的个性化。为了更好的用户体验(user experience),我们还生成了吸引人的图像和文本描述。

尽管学术界和工业界的各种推荐方法取得了成功,例如协同过滤(collaborative filtering: CF)、基于内容的方法、基于深度学习的方法,但是由于用户和item 的十亿级的规模,这些方法在淘宝上面临的问题变得更加严重。推荐系统在淘宝面临三大技术挑战:
可扩展性(scalability):尽管很多现有的推荐方法在较小规模的数据集(即数百万用户和 item)上运行良好,但是在淘宝的、大得多的数据集(即10 亿用户和 20 亿 item)上无法运行。
稀疏性(sparsity):由于用户往往只与少量 item 进行交互,因此很难训练出准确的推荐模型,尤其是对于交互次数很少的用户或 item。这通常被称作稀疏性问题。
冷启动(cold start):在淘宝,每小时都有数百万新的 item 不断上传。这些 item 没有用户行为。处理这些 item 或预测用户对这些 item 的偏好具有挑战性,这就是所谓的冷启动问题。
稀疏性和冷启动都是因为数据太少导致的,冷启动是完全没有历史交互,而稀疏性是只有很少的历史交互。
为了解决淘宝的这些挑战,我们在淘宝的技术平台中设计了一个两阶段的推荐框架。第一阶段是 matching,第二阶段是 ranking。
在 matching 阶段,我们为每个用户,根据该用户的历史交互的每个 item 生成相似 item 的候选集合(candidate set)。
在 ranking 阶段,我们训练一个深度神经网络模型,该模型根据每个用户的偏好对候选 item 进行排序。
由于上述挑战,在这两个阶段我们都必须面对不同的独特问题(different unique problems)。此外,每个阶段的目标不同,导致技术解决方案也不同。在论文 《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》 中,我们专注于如何解决 matching 阶段的挑战,其中核心任务是根据用户的行为计算所有 item 之间的 pairwise 相似性(similarity)。在获得 item 的 pairwise 相似性之后,我们可以生成候选 item 的集合,以便在 ranking 阶段进一步个性化。
为了实现这一点,我们提出从用户的行为历史构建一个 item graph,然后应用 SOTA 的 graph embedding 方法来学习每个 item 的 embedding,我们称之为Base Graph Embedding: BGE 。通过这种方式,我们可以根据从 item embedding 向量的内积计算出的相似性来生成候选 item 集合。注意,以前的工作使用 CF-based 方法来计算 item 之间的相似性,而CF-based 方法仅考虑用户行为历史中 item 的共现(co-occurrence)。但是在我们的工作中,通过在 item graph 中使用随机游走,我们可以捕获 item 之间的高阶相似性。因此,我们的方法优于 CF-based 方法。
然而,在很少交互、甚至没有交互的情况下学习 item 的精确embedding 仍然是一个挑战。为了缓解这个问题,我们提出使用辅助信息(side information)来提升(enhance) embedding 过程,我们称之为 Graph Embedding with Side information: GES。例如,属于同一类目(category)或同一品牌(brand)的 item 在 embedding 空间中应该更接近。通过这种方式,我们可以在很少交互甚至没有交互的情况下获得 item 的精确 embedding 。
然而,在淘宝中有数百种类型的辅助信息,如类目、品牌、价格等等。直观而言,不同的辅助信息对学习 item 的 embedding 应该有不同的贡献。因此,我们进一步提出了一种在学习带辅助信息的 embedding 时的加权机制,称作 Enhanced Graph Embedding with Side information: EGES 。
本文主要贡献:
基于淘宝多年的实践经验,我们设计了一种有效的启发式(heuristic)方法,从淘宝上十亿用户的行为历史构建 item graph 。
我们提出了三种 embedding 方法(BGE、GES、EGES )来学习淘宝中 20 亿 item 的 embedding。我们进行离线实验以证明 BGE、GES、EGES 和其它 embedding 方法相比的有效性。
为了在淘宝中为十亿级用户和 item 部署所提出的方法,我们在我们团队搭建的 XTensorflow: XTF 平台上构建了 graph embedding system。我们表明,所提出的框架显著提高了手机淘宝App 的推荐性能,同时满足了双十一当天训练效率和 serving 的即时响应(instant response)的需求。
相关工作:这里我们简要回顾 graph embedding、带辅助信息的 graph embedding、以及用于推荐的 graph embedding 的相关工作。
Graph Embedding:graph embedding 算法已经作为一种通用的网络表示方法,它们已被用于很多实际 application。在过去的几年里,该领域有很多研究专注于设计新的 embedding 方法。这些方法可以分为三类:
LINE 等分解方法尝试近似分解邻接矩阵并保留一阶和二阶邻近性。
深度学习方法增强(enhance)了模型捕获图中非线性的能力。
基于随机游走的技术在图上使用随机游走来获得非常有效的node representation ,因此可用于超大规模网络。
在本文中,我们的 embedding 框架基于随机游走。
带辅助信息的 Graph Embedding:上述 graph embedding 方法仅使用网络的拓扑结构,存在稀疏性和冷启动的问题。近年来,很多工作试图结合辅助信息来增强 graph embedding 方法。大多数工作基于具有相似辅助信息的节点在 embedding 空间中应该更接近的假设来构建他们的任务。为了实现这一点,《Discriminative deep random walk for network classification》 和 《Max-margin deepwalk: Discriminative learning of network representation》 提出了一个联合框架来优化带分类器函数的 embedding 目标函数。论文 《Representation learning of knowledge graphs with hierarchical types 》 进一步将复杂的知识图谱嵌入到具有层级结构(hierarchical structure)(如子类目)的节点中。
此外,也有一部分工作将节点相关的文本信息融合到 graph embedding 中。另外, 《Heterogeneous network embedding via deep architectures》 提出了一个深度学习框架来为异质 graph embedding 同时处理文本和图像特征。
在本文中,我们主要处理淘宝中item 相关的离散辅助信息,例如类目(category)、品牌(brand)、价格等,并在 embedding 框架中设计了一个 hidden layer 来聚合不同类型的辅助信息。
用于推荐的 Graph Embedding:推荐一直是 graph embedding 最流行的下游任务之一。有了 node representation,就可以使用各种预测模型进行推荐。
在 《Personalized entity recommendation: A heterogeneous information network approach》 和 《Meta-graph based recommendation fusion over heterogeneous information networks》 中,user embedding 和 item embedding 分别在 meta-path 和 meta-graph 的监督下在异质信息网络(heterogeneous information network)中学习。
《Personalized entity recommendation: A heterogeneous information network approach》 为推荐任务提出了一个线性模型来聚合 embedding。
《Meta-graph based recommendation fusion over heterogeneous information networks》 提出将分解机(factorization machine: FM )应用于embedding 以进行推荐。
《Collaborative knowledge base embedding for recommender systems》 提出了一个联合 embedding 框架,从而为推荐任务学习 graph, text, image 的 embedding。《Scalable graph embedding for asymmetric proximity》 提出了 graph embedding 来捕获节点推荐(node recommendation)的非对称相似性(asymmetric similarity)。
在本文中,我们的 graph embedding 方法被集成到一个两阶段推荐平台中。因此,embedding 的性能将直接影响最终的推荐结果。
我们首先介绍 graph embedding 的基础知识,然后详细说明我们如何根据用户的行为历史来构建 item graph,最后我们研究了在淘宝中学习 item embedding 的方法。
Graph Embedding:这里我们概述了 graph embedding,以及最流行的一种 graph embedding 方法 :DeepWalk。我们是在 DeepWalk 的基础上提出了 matching 阶段的 graph embedding 方法。
给定一个图 graph embedding 是为每个节点 representation ,其中
受到 word2vec 的启发,Perozzi 等人提出了 DeepWalk 来学习图中每个节点的 embedding。他们首先通过在图中运行随机游走来生成节点序列,然后应用 Skip-Gram 算法来学习图中每个节点的 representation。为了保持图的拓扑结构,他们需要解决以下最优化问题:
其中:
1-hop 或者 2-hop 节点集合。
接下来,我们首先介绍如何根据用户的历史行为构建 item graph,然后提出基于 DeepWalk 的 graph embedding 方法,从而为淘宝中的 20 亿 item 生成低维 representation。
构建 Item Graph:这里,我们将详细说明从用户历史行为构建 item graph。
实际上,用户在淘宝上的行为往往是连续的,如图 (a) 所示。以往的 CF-based 方法仅考虑 item 的共现(co-occurrence),而忽略了可以更准确地反映用户偏好的序列信息(sequential information )。 然而,不可能使用用户的全部历史记录(来作为一个序列),有两个原因:
条目( entry )太多,导致计算成本和空间成本太高。
用户的兴趣会随着时间而漂移(drift)。
因此在实践中,我们设置了一个时间窗口,仅选择用户在窗口内的行为。这称为 session-based 用户行为。根据经验,时间窗口的大小为一个小时。例如图 (a) 中,包含用户 session、用户 session、用户 session。
在我们获得 session-based 用户行为之后,如果两个 item 相连地(consecutively)出现,则它们通过有向边连接。如下图 (b) 所示:item D 和 item A 相连,因为用户 item D 和 item A。
这种图构建方式捕获了序列关系。如果是连接
session内的任意两个item,则捕获了共现关系。
利用淘宝上所有用户的协同行为(collaborative behaviors),我们根据所有用户行为中两个相连 item 的出现总数为每条边 item item item graph 可以基于淘宝中所有用户的行为来表示不同 item 之间的相似性。图 (b) 为根据图

在实践中,我们在抽取用户行为序列之前需要过滤掉无效数据(invalid data)和异常行为(abnormal behaviors),从而消除噪声。目前,以下行为在我们的系统中被视为噪声:
如果点击之后停留的时间少于一秒钟,那么点击可能是无意的,则需要移除。
淘宝上有一些 “过度活跃” 的用户,他们实际上是作弊用户(spam users)。根据我们在淘宝上的长期观察,如果单个用户在不到三个月内,总购买数量大于 1000 或者总点击数量大于 3500,则该用户很可能是作弊用户。我们需要过滤掉这些用户的行为。
淘宝的零售商不断地更新商品的详细信息。在极端情况下,一个商品在经过长时间的更新之后,在淘宝上可能变成完全不同的商品,即使它们具有相同的商品id。因此,我们删除了这些 id 相关的 item(即更新前后,该id 代表了完全不同的商品)。
Base Graph Embedding: BGE:在得到有向加权图(记作 DeepWalk 来学习每个节点在 embedding。
令 Skip-Gram 算法。随机游走的转移概率定义为:
其中 outlink 邻居的集合,即 outedge)指向的节点集合。
通过运行随机游走,我们可以生成许多序列,如下图 (c) 所示。然后我们应用 Skip-Gram 算法(如图 (d) 所示)来学习节点 embedding,从而最大化随机游走序列中两个节点的共现概率(occurrence probability)。这导致了以下的最优化问题:
其中
使用独立性假设,我们有:
其中:
应用负采样技术,则最优化问题可以转化为:
其中: sigmoid 函数。根据经验,负样本规模越大则最终结果越好。

Graph Embedding with Side information: GES:通过应用上述 embedding 方法,我们可以学习淘宝中所有item 的 embedding,从而捕获用户行为序列中的高阶相似性。而这种高阶相似性在以前的 CF-based 方法中被忽略。然而,学习 “冷启动” item (即那些没有用户交互的 item)的accurate embedding 仍然具有挑战性。
为了解决冷启动问题,我们提出使用附加到冷启动item 的辅助信息(side information)来增强(enhance) BGE。在电商推荐系统的上下文中,辅助信息指的是item 的类目(category)、门店(shop)、价格(price)等信息,这些信息在ranking 阶段被广泛用作关键特征,但是在matching 阶段很少使用。我们可以通过在 graph embedding 中融合辅助信息来缓解冷启动问题。例如,优衣库(相同门店)的两件帽衫(相同类目)可能看起来很像;喜欢尼康镜头的用户也可能对佳能相机(相似类目、相似品牌)感兴趣。这意味着具有相似辅助信息的 item 应该在 embedding 空间中更接近。基于这个假设,我们提出了如下图所示的 GES 方法。
我们使用 item 或辅助信息的 embedding 矩阵,具体而言:
item embedding 矩阵。
embedding 矩阵,一共有
其中 embedding 维度。注意,item embedding 维度和辅助信息 embedding 维度都设为相同的值。
为了融合辅助信息,我们将item embedding 向量拼接起来,并用均值池化来来聚合item embedding,即:
其中: item embedding; item item embedding 向量或者第 embedding 向量。所有节点聚合后的 embedding 构成了embedding 矩阵
是 graph embedding矩阵,它是通过DeepWalk算法得到。但是这里辅助信息embedding矩阵如何得到?论文并未给出明确的回答。
通过这种方式,我们融合了辅助信息,使得具有相似辅助信息的item 在 embedding 空间中更为接近。这使得冷启动 item 的 embedding 更为准确(accurate),并提高了离线和在线性能。
下图为GES 和 EGES 的总体架构。SI 表示辅助信息(side information),SI 0 表示 item 本身。
Sparse Features 往往是 item ID 以及不同 SI 的one-hot 向量。
Dense Embeddings 是 item 和相应 SI 的 representation 。
Hidden Representation 是一个 item 及其相应 SI 的embedding 聚合结果。

Enhanced Graph Embedding with Side information: EGES:尽管 GES 的性能有所提升,但是在 embedding 过程中融合不同类型的辅助信息时仍然存在问题。在 GES 中,我们假设不同类型的辅助信息对于最终 embedding 的贡献相等,这不符合现实。例如:购买了 iPhone 的用户会因为 Apple 这个品牌而倾向于查看 Macbook 或 iPad;用户可能在同一家门店购买不同品牌的衣服,因为比较方便(convenience)而且价格更低(因为可能存在折扣)。因此,不同类型的辅助信息对用户行为中 item 共现(co-occurrence)的贡献不同。
为了解决这个问题,我们提出了 EGES 方法来聚合不同类型的辅助信息。EGES 框架和 GES 相同,它的基本思想是:不同类型的辅助信息在它们的 embedding 被聚合时有不同的贡献。因此,我们提出一个加权均值池化层来聚合辅助信息的 embedding 。
定义一个加权的权重矩阵 item 中,第
item embedding 自己的权重。item item embedding 权重。
item
注意:这里对不同的节点设置个性化的权重分布,而不是采用统一的权重分布。考虑到
embedding参数数量为,因此权重矩阵的参数规模是 embedding参数的。
那么加权均值聚合的结果为:
这里我们使用
给定节点 embedding。令 label(如是否点击),则 EGES 的目标函数为:
我们基于梯度下降法来求解最优化问题,其梯度为:
对于冷启动
item,虽然item embedding未知,但是辅助信息 embedding可以获取。
EGES 框架算法:
输入:
图
辅助信息
每个节点作为起始点的随机游走数量
随机游走序列长度
Skip-Gram 窗口大小
负样本数量
embedding 维度
输出:
item embedding 矩阵和辅助信息 embedding 矩阵
权重矩阵
算法步骤:
初始化
迭代
迭代
通过随机游走得到序列:
执行加权 SkipGram 算法:
返回
加权 Skip-Gram 算法:
输入:
Skip-Gram 窗口大小
负样本数量
随机游走序列长度
随机游走序列 SEQ
输出:更新后的
算法步骤:
迭代,
正样本梯度更新(label = 1):
更新
迭代,
负样本梯度更新(label = 0),
从
更新
迭代,
未来方向:
首先是在 graph embedding 方法中利用 attention 机制,这可以提供更大的灵活性来学习不同类型辅助信息的权重。
其次是将文本信息纳入到我们的方法中,从而利用淘宝 item 中大量的评论信息。
这里我们介绍我们的 graph embedding 方法在淘宝中的实现和部署。我们首先对支撑淘宝的整个推荐平台进行 high-level 的介绍,然后详细说明与我们 embedding 方法相关的模块。
下图给出了淘宝推荐平台的架构。该平台由两个子系统组成:online 和 offline 。
在线子系统主要组件(component)是淘宝个性化平台 (Taobao Personality Platform: TPP)和排序服务平台(Ranking Service Platform: RSP)。典型的工作流程如下图所示:
当用户打开手机淘宝App 时,TPP 抽取用户的最新信息并从离线子系统中检索一组候选 item,然后将候选 item 馈送到 RSP。
RSP 使用微调的DNN 模型对候选 item 集合进行排序,并将排序结果返回给 TPP。
用户在淘宝的访问行为被收集并保存为离线子系统的日志数据。
实现和部署 graph embedding 方法的离线子系统的工作流如下所示:
包含用户行为的日志被检索。item graph 是基于用户的行为构建的。在实践中,我们选择最近三个月的日志。
在生成 session-based 用户行为序列之前,我们会对数据执行反作弊处理(anti-spam processing)。 剩余的日志包含大约 6000 亿条,然后根据前面所述方法构建 item graph 。
为了运行我们的 graph embedding 方法,我们采用了以下的解决方案:
将整个graph 拆分为多个子图,这些子图可以在淘宝的 Open Data Processing Service: ODPS 分布式平台中并行处理。每个子图中大约有 5000 万个节点。
为了在图中生成随机游走序列,我们在 ODPS 中使用我们基于迭代iteration-based 的分布式 graph framework 。随机游走生成的序列总量为 1500 亿左右。
为了实现所提出的 embedding 算法,我们的 XTF 平台使用了 100 个 GPU。在部署的平台上,离线子系统中的所有模块(包括日志检索、反作弊处理、item graph 构建、随机游走序列生成、embedding、item-to-item 相似度计算)都可以在不到六个小时内处理完毕。因此,我们的推荐服务可以在很短的时间内响应用户的最新行为。

这里我们进行了大量的实验来证明我们提出的方法的有效性。
首先,我们通过链接预测任务对这些方法进行离线评估。然后,我们在手机淘宝 App 上报告在线实验结果。最后,我们展示了一些真实案例,从而在淘宝上深入洞察我们提出的方法。
链接预测(Link Prediction):链接预测任务用于离线实验,因为它是graph 中的一个基础问题fundamental problem 。
给定一个去掉了某些边的graph,链接预测任务是预测链接的出现。我们随机选择 1/3 的边作为测试集中的 ground truth 并从graph 中移除,剩余的 graph 作为训练集。我们随机选择未链接的节点 pair 对作为负样本并加入到测试集,负样本数量和 ground truth 数量相等。为了评估链接预测的性能,我们选择 AUC 作为评估指标。
数据集:我们选择使用两个数据集进行链接预测任务,它们包含不同类型的辅助信息。
Amazon 数据集:来自 Amazon Electronics 的数据集。item graph 通过 “共同购买 co-purchasing “ 关系(在提供的数据中表示为 also_bought)来构建,并使用了三种类型的辅助信息:类目、子类目、品牌。
Taobao数据集:来自手机淘宝 App 的数据集。 item graph 根据前述方法来构建。需要注意的是,为了效率和效果,Taobao数据集使用了十二种类型的辅助信息,包括:商家(retailer) 、品牌、购买力水平(purchase level)、年龄、性别、款式(style)等等。根据多年在淘宝的实践经验,这些类型的辅助信息已经被证明是有用的。
这两个数据集的统计信息如下表所示(#SI 表示辅助信息数量)。我们可以看到这两个数据集的稀疏性都大于 99% 。

baseline 方法:我们对比了四种方法:BGE、LINE、GES、EGES。
LINE 捕获了 graph embedding 中的一阶邻近性和二阶邻近性。我们使用作者提供的实现,并使用一阶邻近性和二阶邻近性运行它,结果分别表示为 LINE(1st) 和 LINE(2nd) 。
我们实现了所提出的 BGE、GES、EGES 等三种方法。
配置:
所有方法的 embedding 维度均设为 160。
对于我们的 BGE/GES/EGES,随机游走的长度为 10,每个节点开始的游走次数为 20,上下文窗口大小为 5 。
实验结果如下表所示,括号中的百分数是相对于 BGE 的提升比例。可以看到:
GES 和 EGES 在两个数据集上的 AUC 都优于 BGE、LINE(1st)、LINE(2st)。这证明了所提出方法的有效性。换句话讲,稀疏性问题通过结合辅助信息得到了缓解。
比较两个数据集上的提升,我们可以看到Taobao 数据集上的提升更为显著。我们将此归因于Taobao 数据集上使用的大量有效且信息丰富的辅助信息。
当在 GES 和 EGES 之间比较,我们可以看到 Amazon 数据集上的性能提升比 Taobao 数据集更大。可能是因为 Taobao 上GES 的表现已经很不错了,即 0.97。因此 EGES 的改善并不突出。而在 Amazon 数据集上,EGES 显著优于 GES。
基于这些结果,我们可以观察到融合辅助信息对于 graph embedding 非常有用,并且可以通过对各种辅助信息的 embedding 进行加权聚合来进一步提高准确性(accuracy)。

我们在 A/B test 框架中进行在线实验,实验目标是手机淘宝 App 首页的点击率( Click-Through-Rate: CTR)。
我们实现了上面的 graph embedding 方法,然后为每个item 生成一些相似的 item 作为候选推荐。淘宝首页的最终推荐结果由基于dnn 模型的 ranking 引擎生成。在实验中,我们在 ranking 阶段使用相同的方法对候选 item 进行排序。如前所述,相似item 的质量直接影响了推荐结果。因此,推荐性能(即CTR)可以代表不同方法在 matching 阶段的有效性。
我们将这四种方法部署在一个 A/B test 框架中,2017 年 11 月连续7 天的实验结果如下图所示。其中,Base 代表一种 item-based CF 方法,在部署 graph embedding 方法之前已经在淘宝内部广泛使用。Base 方法根据 item 共现( co-occurrence)和用户投票权重计算两个item 之间的相似度,并且相似度函数经过精心调优从而适合淘宝的业务。
可以看到:
EGES 和 GES 在 CTR 方面始终优于 BGE 和 Base,这证明了在 graph embedding 中融合辅助信息的有效性。
此外,Base 的 CTR 优于 BGE。这意味着经过精心调优的 CF-based 方法可以击败简单的 embedding 方法,因为在Base 方法中已经利用了大量人工设计的启发式策略。
EGES 始终优于 GES,这和离线实验结果相一致。这进一步证明了辅助信息的加权聚合优于平均聚合。

这里我们展示了淘宝中的一些真实案例来说明我们方法的有效性。这些案例从三个方面来研究:EGES embedding 的可视化、冷启动item、EGES 中的加权权重。
embedding 可视化:我们通过 tensorflow 提供的可视化工具,将 EGES 学到的 item embedding 可视化,结果如下图所示。下图为一组随机选择的运动鞋的embedding 的可视化,item embedding 通过 PCA 投影到二维平面中,其中不同颜色代表不同的类目。
从图 (a) 中,我们可以看到不同类目的鞋子在不同的 cluster 中。这里一种颜色代表一类鞋子,例如羽毛球鞋、乒乓球鞋、足球鞋。
这证明了融合辅助信息来学习 emebdding 的有效性,即具有相似辅助信息的 item 应该在 embedding 空间中更接近。
从图 (b) 中,我们进一步分析了羽毛球鞋、乒乓球鞋、足球鞋三种鞋子的 embedding。我们观察到一个有趣的现象:羽毛球鞋和乒乓球鞋的 embedding 距离更接近、和足球鞋的 embedding 距离更远。
这一现象可以解释为:在中国,喜欢乒乓球的人和喜欢羽毛球的人有很多重叠。然而喜欢足球的人和喜欢室内运动(如乒乓球、羽毛球)的人,有很大的不同。从这个意义上讲,向看过乒乓球鞋的人推荐羽毛球鞋,要比推荐足球鞋要好得多。

冷启动 item:对于淘宝中的新item,无法从 item graph 中学习到 embedding,并且之前CF-based 的方法也无法处理冷启动item。因此,我们利用新item 的辅助信息的平均 embedding 来表示一个冷启动 item。然后我们根据item embedding 的内积从所有 item 中检索和冷启动 item 最相似的 item。
结果如下图所示,我们给出了冷启动item 的 top 4 相似item。在图中,我们为每个相似 item 标注了与冷启动item 相关的辅助信息的类型,其中 cat 意思是 category
可以看到:
尽管缺少用户对冷启动 item 的行为,但是可以利用不同的辅助信息来有效地学习它们embedding(就 top 相似 item 的质量而言)。
item 的门店shop 对于衡量两个item 的相似性非常有用,这也和下面介绍的辅助信息的权重保持一致。

辅助信息权重:我们将item 的不同类型辅助信息的权重可视化。我们选择了不同类目的 8 个item,并从学到的权重矩阵 item 相关的所有辅助信息的权重。结果如下图所示,其中每一行记录一个 item 的权重结果。
有几点值得注意:
不同 item 的权重分布不同,这和我们的假设相一致,即不同的辅助信息对最终 representation 的贡献不同。
在所有 item 中,代表 item 本身 embedding 的 "Item" 权重始终大于所有其它辅助信息的权重。这证实了一种直觉,即 item embedding 本身仍然是用户行为的主要来源,而辅助信息为推断用户行为提供了额外的提示。
除了 "Item" 之外,"Shop" 的权重始终大于其它辅助信息的权重。这和淘宝中的用户行为一致,即用户倾向于在同一家店铺购买item,这是为了便利性(convenience)和更低的价格(即店铺的折扣)。
